The rise of technologies such as virtualization and cloud computing has facilitated moving various applications previously associated with dedicated and standalone hardware onto machines providing shared hardware resources. This so-called “server consolidation” allows for a fuller utilization of available resources and, therefore, a decreased cost associated with underutilized resources. For example, by retiring servers that were previously only lightly utilized, energy consumption, floor space, and other server costs may be reduced.
Server consolidation can lead to various unwanted effects, however. The increased utilization of hardware resources can increase the hardware's failure rate. These failures can then impact any application utilizing the hardware. Further, under current architectures, when a hardware component of a server fails, the entire server often must be replaced or repaired, removing the server from the pool of resources available for application execution, even though some hardware components of the server remain operational.